Event Handling এর Best Practices

GWT এর Event Handling - গুগল ওয়েব টুলকিট (Google Web Toolkit) - Web Development

329

গুগল ওয়েব টুলকিট (Google Web Toolkit বা GWT)-এ ইভেন্ট-ড্রিভেন প্রোগ্রামিং একটি গুরুত্বপূর্ণ দিক। এটি ডেভেলপারদের ইন্টারেক্টিভ এবং প্রতিক্রিয়াশীল অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। GWT-তে ইভেন্ট মডেলটি DOM ইভেন্টের উপর ভিত্তি করে কাজ করে এবং এর মাধ্যমে কাস্টম ইভেন্ট এবং ইভেন্ট প্রোপাগেশন (Event Propagation) কার্যকরভাবে ব্যবস্থাপনা করা যায়।


Custom Events (কাস্টম ইভেন্ট)

Custom Events তৈরি

GWT-তে কাস্টম ইভেন্ট তৈরি করতে GwtEvent ক্লাস ব্যবহার করতে হয়।

ধাপসমূহ

  1. ইভেন্ট ক্লাস তৈরি করুন: GwtEvent থেকে একটি ক্লাস তৈরি করে এর ধরন (type) এবং প্রয়োজনীয় ডেটা সংজ্ঞায়িত করতে হয়।

    public class MyCustomEvent extends GwtEvent<MyCustomEvent.Handler> {
        public interface Handler extends EventHandler {
            void onCustomEvent(MyCustomEvent event);
        }
    
        public static final Type<Handler> TYPE = new Type<>();
    
        private final String message;
    
        public MyCustomEvent(String message) {
            this.message = message;
        }
    
        public String getMessage() {
            return message;
        }
    
        @Override
        public Type<Handler> getAssociatedType() {
            return TYPE;
        }
    
        @Override
        protected void dispatch(Handler handler) {
            handler.onCustomEvent(this);
        }
    }
    
  2. ইভেন্ট হ্যান্ডলার নিবন্ধন করুন:
    HasHandlers ইন্টারফেস ব্যবহার করে ইভেন্ট রেজিস্টার করা হয়।

    public class MyCustomWidget extends Composite implements HasHandlers {
        public void triggerCustomEvent(String message) {
            fireEvent(new MyCustomEvent(message));
        }
    }
    
  3. ইভেন্ট শোনার জন্য লিসেনার যোগ করুন:

    MyCustomWidget widget = new MyCustomWidget();
    widget.addHandler(event -> Window.alert("Received: " + event.getMessage()), MyCustomEvent.TYPE);
    

Event Propagation (ইভেন্ট প্রোপাগেশন)

ইভেন্ট প্রোপাগেশন প্রক্রিয়া

GWT-তে ইভেন্ট প্রোপাগেশন তিনটি ধাপে সম্পন্ন হয়:

  1. Capturing Phase: ইভেন্ট DOM-এর উপর থেকে নিচের দিকে যায়।
  2. Target Phase: ইভেন্ট নির্দিষ্ট DOM উপাদানে পৌঁছে।
  3. Bubbling Phase: ইভেন্ট DOM-এর নিচ থেকে উপরে ফিরে যায়।

ইভেন্ট প্রোপাগেশন বন্ধ করা

GWT-তে ইভেন্ট প্রোপাগেশন বন্ধ করতে Event.stopPropagation() ব্যবহার করা হয়।

Button button = new Button("Click Me");
button.addClickHandler(event -> {
    event.stopPropagation(); // ইভেন্ট প্রোপাগেশন বন্ধ
    Window.alert("Button clicked!");
});
RootPanel.get().add(button);

Custom Event এবং Propagation উদাহরণ

public class CustomEventExample {
    public static void main(String[] args) {
        Button parentButton = new Button("Parent Button");
        Button childButton = new Button("Child Button");

        // Parent Button এ ClickHandler যোগ করা
        parentButton.addClickHandler(event -> Window.alert("Parent Button clicked!"));

        // Child Button এ ClickHandler যোগ করা
        childButton.addClickHandler(event -> {
            event.stopPropagation(); // ইভেন্ট প্রোপাগেশন বন্ধ
            Window.alert("Child Button clicked!");
        });

        RootPanel.get().add(parentButton);
        RootPanel.get().add(childButton);
    }
}

Custom Events বনাম Standard Events

বৈশিষ্ট্যCustom EventsStandard Events
ব্যবহারব্যবহারকারীর চাহিদা অনুযায়ী তৈরিDOM দ্বারা সরবরাহিত
নিয়ন্ত্রণসম্পূর্ণ নিয়ন্ত্রণ প্রদান করেপ্রি-ডিফাইন্ড নিয়ম মেনে চলে
জটিলতাউন্নত লজিক প্রয়োগে কার্যকরসহজ এবং ডিফল্ট ব্যবহারের জন্য

GWT-তে Custom Events এবং Event Propagation ব্যবহারের মাধ্যমে ইন্টারেক্টিভ অ্যাপ্লিকেশন তৈরি সহজ এবং কার্যকর হয়ে ওঠে। Custom Events আপনাকে নির্দিষ্ট লজিক অনুযায়ী ইভেন্ট পরিচালনার স্বাধীনতা দেয়, আর Event Propagation ইভেন্টের কার্যক্রম নিয়ন্ত্রণ করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...